/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package org.rm.entidades;

import java.io.Serializable;


/**
 * Interface for the experience objects.
 * @author ffbeltran
 */
public interface Experiencia extends Serializable {
	
	/**
	 * Retrieve the id of this entity
	 * @return id
	 */
	public Integer getId();
	
	/**
	 * Sets the id of this entity
	 * @param id
	 */
	public void setId(Integer id);

	/**
	 * Retrieve the calculated experience for this kind of exp.
	 * @return Integer
	 */
    public Integer getExp();
    
    /**
     * Sets the exp value
     * @param exp
     */
    public void setExp(Integer exp);
    
    /**
     * Retrieve the {@link Jugador} asociated.
     * @return Jugador
     */
    public Jugador getJugador();
    
    /**
     * Sets the property Jugador
     * @param jugador
     */
    public void setJugador(Jugador jugador);
    
    /**
     * Retrive the % of shared experience.
     * @return int
     */
    public int getCompartido();
    
    /**
     * Retrieve the {@link Partida} asociated.
     * @return Partida
     */
    public Partida getPartida();
    
    /**
     * Sets the property Partida
     * @param partida
     */
    public void setPartida(Partida partida);
    
    /**
     * Update the exp value
     */
    public void actualizaExp();

}
